from dependency_injector import containers, providers
from .Impl.file_service import FileService
from .Impl.kb_service import KBService
from .Interface.file_interface import IFileInterface
from .Interface.kb_interface import IKbInterface


class Container(containers.DeclarativeContainer):
    wiring_config = containers.WiringConfiguration(modules=[
        "src.modules.knowbase.router.file_router",
        "src.modules.knowbase.router.iv_router",
        "src.modules.knowbase.router.kb_router",
        "src.modules.knowbase.router.tv_router"
    ])

    # 定义 Singleton
    kb_service = providers.Singleton(KBService)
    file_service = providers.Singleton(FileService)





